package com.example.aiquestions.entity;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

import java.time.LocalDateTime;
import java.util.Date;

@Data
public class Question {
    private Long id;
    private String questionType;  // SINGLE_CHOICE, MULTIPLE_CHOICE, SHORT_ANSWER, TRUE_FALSE, FILL_BLANK, READING, SUB_QUESTION
    private Long parentId;        // 阅读理解子题目关联的父题目ID
    private String stem;
    private String answer;        // 单选题、判断题答案
    private String analysis;
    private Integer difficulty;
    private Integer totalScore;   // 简答题总分
    private String passage;       // 阅读理解文章内容
    private String blanks;        // 填空题答案，多个答案用|分隔
    private Integer score;        // 填空题每空分值或阅读理解子题目分值
    private Date createTime;
    private Date updateTime;

    public Question() {
    }

    public Question(Long id, String questionType, Long parentId, String stem, String answer, String analysis, Integer difficulty, Integer totalScore, String passage, String blanks, Integer score, Date createTime, Date updateTime) {
        this.id = id;
        this.questionType = questionType;
        this.parentId = parentId;
        this.stem = stem;
        this.answer = answer;
        this.analysis = analysis;
        this.difficulty = difficulty;
        this.totalScore = totalScore;
        this.passage = passage;
        this.blanks = blanks;
        this.score = score;
        this.createTime = createTime;
        this.updateTime = updateTime;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getQuestionType() {
        return questionType;
    }

    public void setQuestionType(String questionType) {
        this.questionType = questionType;
    }

    public Long getParentId() {
        return parentId;
    }

    public void setParentId(Long parentId) {
        this.parentId = parentId;
    }

    public String getStem() {
        return stem;
    }

    public void setStem(String stem) {
        this.stem = stem;
    }

    public String getAnswer() {
        return answer;
    }

    public void setAnswer(String answer) {
        this.answer = answer;
    }

    public String getAnalysis() {
        return analysis;
    }

    public void setAnalysis(String analysis) {
        this.analysis = analysis;
    }

    public Integer getDifficulty() {
        return difficulty;
    }

    public void setDifficulty(Integer difficulty) {
        this.difficulty = difficulty;
    }

    public Integer getTotalScore() {
        return totalScore;
    }

    public void setTotalScore(Integer totalScore) {
        this.totalScore = totalScore;
    }

    public String getPassage() {
        return passage;
    }

    public void setPassage(String passage) {
        this.passage = passage;
    }

    public String getBlanks() {
        return blanks;
    }

    public void setBlanks(String blanks) {
        this.blanks = blanks;
    }

    public Integer getScore() {
        return score;
    }

    public void setScore(Integer score) {
        this.score = score;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }
}